package com.yeren.newFor;
/**
 * 纵使加强型for循环具有一定的优势，但是，其也有一定的局限性
 * 1.只能对元素进行顺序访问。
 * 2.只能反问数组（集合）中的所有元素。
 * 3.在循环中没有当前的索引，无法对指定元素进行操作。
 * 
 * 总结：
 * 访问数组与Iterable类型变量时，使用加强for循环比基本for循环要方便快捷。但是，加强for循环也有一定的局限性，不能完全取代for循环
 * 加强for循环右侧变量必须为数组或Iterable类型的
 * 加强for循环在底层也是由基本for循环实现的
 */
public class ForLimitations {
	public static void main(String[] args){
		int[] array=new int[]{88,23,-9,24,-30,68,9,-16,25};
		//非顺序操作数组元素
		noSquence(array);
		//操作数组的部分元素
		part(array);
		
		//查找与指定值相等的值，并返回其索引值
		int index =serach(array, 9);
		if(index!=-1){
			//相关操作
		}
	}
	
	public static void noSquence(int[] array){
		for(int i=array.length;i>=0;i--){
			//相关操作
		}
		
	}
	
	public static void part(int[] array){
		for(int i=0;i<array.length/2;i++){
			//相关操作
		}
	}
	
	public static int serach(int[] array,int value){
		for(int i=0;i<array.length;i++){
			if(value==array[i]){
				return i;
			}
		}
		return -1;
	}       
}
